exploring a modern embedded development experience
how did I build this blog?
2/4/2024
Deplyoment turned out to be an utter joy using Docker
and fly.io. Highly recommend this stack for containerized apps;
even for an embedded guy like me, getting on the web was a piece
of cake. I copy-pasted a dead simple Dockerfile for building
a Rust app from somewhere on Stack Overflow, tested the image/container locally,
then fly.io and their CLI
tool flyctl ingested the contents of the Dockerfile and automatically
configured the deployment. Insanely smooth experience - my deployment
didn't require postgres or redis, but I imagine if your application includes those
dependencies it would still be super easy. Configuring continuous deployment via
Github Actions was a breeze. The fly.io documentation is pretty good, but the
maintainers acknowledge a few details might be out of date - in fly.yml,
actions/checkout@v3 should be
actions/checkout@v4. I was also a bit confused by the process of generating
security certificates so I could use my own domain, but once I figured out I actually needed to
enter that flow, it was painless. I picked up the domain on Squarespace,
pointed an A record at the fly.io hosted IP, and just like that, my Rust app was live.
Here's the source: github